//store中的index.js文件
import Vue from 'vue'
import Vuex from 'vuex'
Vue.use(Vuex);

const store = new Vuex.Store({
    state:{
      //用来定义变量的，相当于vue中的data
      firstname:"哈哈",
      lastname:"先生",
      netStatus:200,
      netMsg:'',
    },
    getters:{
      //相当于computed
      fullname(state){ //这里会有一个默认的参数，就是state对象
        return state.firstname + state.lastname;
      }
    },
    mutations:{
      // 这个比较特殊，这个里面的方法是用来同步提交到state中的。也就是说，当一个组件想要改变state中的值的话，
      // 必须通过mutations里面的方法才可以！
      changename(state,newName){ //这里会有两个参数，一个同样是state对象，另一个是传过来的参数
        state.firstname = newName;
      },
      page500(state,msg) {
          state.netStatus = 500
          state.netMsg = msg;
      }
    }
})
export default store